home *** CD-ROM | disk | FTP | other *** search
- /*****
- $VER: RecentScript Commands 1.3 (9.7.97) ©Arndt van der Molen
-
-
- RecentScript Commands
-
- is a MUIRexx subapplication and can not be started directly.
-
- It is called only from the starter application.
- *****/
-
-
-
- /* Change to path with trailing ':' or '/' where this script resides */
-
- srcdir = 'MUIREXX:RecentScript/'
-
-
-
- /* !!! NOTHING TO CHANGE BELOW THIS LINE !!! */
-
- MUIV_List_Select_Off = 0
- MUIV_List_Select_On = 1
-
- OPTIONS RESULTS
-
- PARSE ARG portname cmd1 cmd2 '['cmd3']'
-
-
- cmd2 = STRIP(cmd2)
-
- PRAGMA('Directory',srcdir) /* Set current directory */
-
- ADDRESS VALUE portname
-
- IF ~SHOW('l', "rexxdossupport.library") THEN DO
- IF ~ADDLIB('rexxdossupport.library',0,-30,0) THEN DO
- request ID RECSCRWIN TITLE '"Library Error"' GADGETS '"_OK"' STRING "Could not load 'rexxdossupport.library'"
- RETURN
- END
- END
-
- SELECT
-
- WHEN cmd1 = 'ADD' THEN CALL addentries
-
- WHEN cmd1 = 'CLR' THEN CALL clearlist cmd2
-
- WHEN cmd1 = 'DEL' THEN CALL delentry
-
- WHEN cmd1 = 'LOAD' THEN CALL loadindex cmd2 cmd3
-
- WHEN cmd1 = 'MINUS' THEN CALL patternentries MUIV_List_Select_Off
-
- WHEN cmd1 = 'PLUS' THEN CALL patternentries MUIV_List_Select_On
-
- WHEN cmd1 = 'SAVE' THEN CALL savelist
-
- WHEN cmd1 = 'SETBAT' THEN CALL batchsettingopen '['cmd3']'
-
- WHEN cmd1 = 'SETBATHDL' THEN CALL batchsettinghandle cmd2 '['cmd3']'
-
- WHEN cmd1 = 'TEST' THEN CALL testprocedure
-
- OTHERWISE DO
- request ID RECSCRWIN TITLE '"Internal Error"' GADGETS '"_OK"' STRING '"Unsupport command 'cmd1 cmd2 cmd3'"'
- END
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Add all selected entries from the LST_ALL to the LST_SEL */
- /* --------------------------------------------------------- */
-
- addentries: PROCEDURE
-
- MUIA_List_Quiet = '0x8042d8c7'
- MUIM_Busy_Move = '0x80020001'
- MUIV_List_Insert_Bottom = -3
-
-
- list ID LST_SEL ATTRS MUIA_List_Quiet 1
-
- DO FOREVER
-
- list ID LST_ALL
- entry = RESULT
-
- IF entry = '' THEN LEAVE
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- list ID LST_SEL NODUP POS MUIV_List_Insert_Bottom INSERT STRING entry
- END
-
- list ID LST_SEL ATTRS MUIA_List_Quiet 0
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Delete selected entry from the LST_SEL */
- /* --------------------------------------------------------- */
-
- delentry: PROCEDURE
-
- MUIA_List_Active = '0x8042391c'
-
- list ID LST_SEL ATTRS MUIA_List_Active
- position = RESULT
-
- list ID LST_SEL POS position STRING
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Load specified AmiNet index file into specified listview */
- /* --------------------------------------------------------- */
-
- loadindex: PROCEDURE EXPOSE srcdir
-
- parse arg listid ' ' filename
-
- MUIA_List_Quiet = '0x8042d8c7'
- MUIM_Busy_Move = '0x80020001'
- ASLFR_InitialDrawer = '0x80080009'
- MUIV_List_Insert_Bottom = -3
-
-
- IF filename = '' THEN DO
-
- OPTIONS FAILAT 11
- aslrequest ID RECSCRWIN TITLE '"Load AmiNet index file..."' ATTRS ASLFR_InitialDrawer srcdir
- returncode = RC
- filename = RESULT
- OPTIONS FAILAT 10
-
- IF returncode ~= 0 | filename = '' THEN DO
- RETURN
- END
- END
-
- IF OPEN(indexhandle, filename, 'R') THEN DO
-
- list ID listid ATTRS MUIA_List_Quiet 1
-
- DO UNTIL EOF(indexhandle)
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- line = READLN(indexhandle)
-
- /* Check if the line is an AmiNet Index line */
-
- slashposition = POS('/',line)
-
- /* This check must be edited if the format of the index file changes */
- IF (SUBSTR(line,34,1) = 'K' | SUBSTR(line,34,1) = 'M'),
- & SUBSTR(line,19,1) = ' ',
- & SUBSTR(line,30,1) = ' ',
- & SUBSTR(line,36,1) ~= ' ', /* Exlude 'most downloaded' and 'top rated' files */
- & slashposition > 20,
- & slashposition < 29
- THEN DO
-
- /* Change all comma to semicolon due to MUIRexx flaw */
- line = TRANSLATE(line, ";", ",")
-
- /* This line must be edited if the format of the index file changes */
- PARSE VAR line WITH 1 1 name +18 WITH 20 directory +10 WITH 31 size +4 WITH 36 comment
-
- LIST ID listid NODUP POS MUIV_List_Insert_Bottom INSERT STRING name","directory","size","comment
- END
- END
-
- list ID listid ATTRS MUIA_List_Quiet 0
-
- CALL CLOSE(indexhandle)
-
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS "_OK" STRING "Cannot read file '"filename"'"
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Save LST_SEL to AmiNet index file or user defined batch */
- /* --------------------------------------------------------- */
-
- savelist: PROCEDURE EXPOSE srcdir
-
- MUIA_List_Entries = '0x80421654'
- MUIM_Busy_Move = '0x80020001'
- ASLFR_InitialFile = '0x80080008'
- ASLFR_InitialDrawer = '0x80080009'
-
-
- /* Get batchmode */
-
- cycle ID CYC_BAT
- batchmode = RESULT
-
- /* Save to AmiNet Index file ? */
-
- IF batchmode = 'AmiNet Index' THEN DO
- CALL saveasindex
- RETURN
- END
-
- /* An user configured batch mode is selected... */
-
- /* Read global batchmode config in local stem */
-
- IF loadbatchconfigs('['batchmode']') = 1 THEN DO
-
- locdir = PATHPART(globalcfg.file)
- locfile = FILEPART(globalcfg.file)
-
- OPTIONS FAILAT 11
- aslrequest ID RECSCRWIN TITLE '"Save ''batchmode'' file ..."' ATTRS ASLFR_InitialDrawer locdir ASLFR_InitialFile locfile
- returncode = RC
- outputfilename = RESULT
- OPTIONS FAILAT 10
-
- IF returncode ~= 0 | outputfilename = '' THEN DO
- RETURN
- END
-
- IF OPEN(writehandle, outputfilename, 'W') THEN DO
-
- /* Read and Write batchmode intro file if available */
-
- filename = srcdir || "Configs/" || batchmode || ".intro"
-
- IF OPEN(handle, filename, 'R') THEN DO
-
- /* Do for all lines in file */
- DO UNTIL EOF(handle)
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- line = READLN(handle)
-
- /* Replace batch placeholders with value from config */
- DO i=1 TO (batchcfg.0)
-
- /* Replace all placeholders in line */
- start = POS(batchcfg.i.replace, line)
- DO WHILE start ~= 0
-
- line = SUBSTR(line,1,start-1) || SUBSTR(line,start+2)
- line = INSERT(batchcfg.i.val, line, start-1)
- start = POS(batchcfg.i.replace, line)
- END
-
- END
-
- CALL WRITELN(writehandle, line)
- END
-
- CALL CLOSE(handle)
- END
-
-
- /* Read and Write batchmode entry file if available */
-
- filename = srcdir || "Configs/" || batchmode || ".entry"
-
- IF OPEN(handle, filename, 'R') THEN DO
-
- /* Add entry placeholders to local stem varaible */
- i = batchcfg.0 + 1
- batchcfg.i.replace = '%n' /* name */
- i = i+1
- batchcfg.i.replace = '%d' /* directory */
- i = i+1
- batchcfg.i.replace = '%s' /* size */
- i = i+1
- batchcfg.i.replace = '%c' /* comment */
- batchcfg.0 = i
-
- /* Read batchmode entry lines in local stem variable */
-
- entrycfg.0 = 0
- i = 1
-
- DO UNTIL EOF(handle)
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- entrycfg.i = READLN(handle)
- entrycfg.0 = i
- i = i + 1
- END
-
- CALL CLOSE(handle)
-
- /* Do for all entries in LST_SEL */
-
- list ID LST_SEL ATTRS MUIA_List_Entries
- lstselcount = RESULT
-
- IF lstselcount > 0 THEN DO
-
- DO lstselnr=0 TO lstselcount-1
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- list ID LST_SEL POS lstselnr
- listline = RESULT
-
- /* This line must be edited if the format of the index file changes */
- PARSE VAR listline WITH 1 name +18 WITH 20 directory +10 WITH 31 size +4 WITH 36 comment
-
- /* Add entry values to local stem varaible */
- i = batchcfg.0
- batchcfg.i.val = comment
- i = i-1
- batchcfg.i.val = size
- i = i-1
- batchcfg.i.val = STRIP(directory)
- i = i-1
- batchcfg.i.val = STRIP(name)
-
-
- DO global=0 TO globalcfg.readme /* Process *.readme file ? */
-
- IF global=1 THEN DO
-
- i = batchcfg.0 - 1 /* Set new 'size' to 0 */
- batchcfg.i.val = ' 0K'
-
- i = batchcfg.0 - 3 /* Set new 'name' to *.readme */
- position = LASTPOS('.', batchcfg.i.val)
-
- IF position ~= 0 THEN DO
- batchcfg.i.val = SUBSTR(batchcfg.i.val, 1, position) || "readme"
- END
- ELSE DO
- batchcfg.i.val = batchcfg.i.val || ".readme"
- END
- END
-
- /* Do for all entry config lines */
-
- DO entrycfgnr=1 TO entrycfg.0
-
- line = entrycfg.entrycfgnr
-
- /* Replace batch and entry placeholders with value from config */
- DO i=1 TO batchcfg.0
-
- /* Replace all placeholders in line */
- start = POS(batchcfg.i.replace, line)
- DO WHILE start ~= 0
-
- line = SUBSTR(line,1,start-1) || SUBSTR(line,start+2)
- line = INSERT(batchcfg.i.val, line, start-1)
- start = POS(batchcfg.i.replace, line)
- END
- END
-
- CALL WRITELN(writehandle, line)
- END
- END
- END
- END
- batchcfg.0 = batchcfg.0 - 4 /* Remove entry variables from config */
- END
-
-
- /* Read and Write batchmode extro file if available */
-
- filename = srcdir || "Configs/" || batchmode || ".extro"
-
- IF OPEN(handle, filename, 'R') THEN DO
-
- /* Do for all lines in file */
- DO UNTIL EOF(handle)
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- line = READLN(handle)
-
- /* Replace batch placeholders with value from config */
- DO i=1 TO (batchcfg.0)
-
- /* Replace all placeholders in line */
- start = POS(batchcfg.i.replace, line)
- DO WHILE start ~= 0
-
- line = SUBSTR(line,1,start-1) || SUBSTR(line,start+2)
- line = INSERT(batchcfg.i.val, line, start-1)
- start = POS(batchcfg.i.replace, line)
- END
- END
-
- CALL WRITELN(writehandle, line)
- END
-
- CALL CLOSE(handle)
- END
-
- CALL CLOSE(writehandle)
-
-
- /* Copy icon for batchfile if available */
- allfiles = showdir(srcdir || 'Configs', 'f', ';')
-
- IF INDEX(allfiles, batchmode".info") ~= 0 THEN DO
- ADDRESS COMMAND 'copy >NIL: "'srcdir'Configs/'batchmode'.info" "'outputfilename'.info"'
- END
-
-
- /* Replace all filename placeholder in commandline */
- cmd_string = globalcfg.cmd
-
- start = POS("%o", cmd_string)
- DO WHILE start ~= 0
- cmd_string = SUBSTR(cmd_string,1,start-1) || SUBSTR(cmd_string,start+2)
- cmd_string = INSERT(outputfilename, cmd_string, start-1)
- start = POS("%o", cmd_string)
- END
-
-
- SELECT
-
- WHEN globalcfg.exec = 'Never' THEN DO
- END
-
- WHEN globalcfg.exec = 'Always' THEN DO
- OPTIONS FAILAT 21
- ADDRESS COMMAND cmd_string
- OPTIONS FAILAT 10
- END
-
- OTHERWISE DO
-
- request ID RECSCRWIN TITLE 'Execute?' GADGETS '_OK|_Cancel' STRING 'Process output via\n\n\033b'cmd_string'\033n\n\ncommand now?'
-
- IF RESULT = 1 THEN DO
- OPTIONS FAILAT 21
- ADDRESS COMMAND cmd_string
- OPTIONS FAILAT 10
- END
- END
- END
-
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS "_OK" STRING "'Cannot write file '"filename"'"
- END
-
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot read '"batchmode"' configuration"
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Save all entries from the LST_SEL to an AmiNet index file */
- /* --------------------------------------------------------- */
-
- saveasindex: PROCEDURE EXPOSE srcdir
-
- MUIA_List_Entries = '0x80421654'
- MUIM_Busy_Move = '0x80020001'
- ASLFR_InitialFile = '0x80080008'
- ASLFR_InitialDrawer = '0x80080009'
-
-
- OPTIONS FAILAT 11
- aslrequest ID RECSCRWIN TITLE '"Save selected files..."' ATTRS ASLFR_InitialDrawer srcdir ASLFR_InitialFile "RecentScript.lst"
- returncode = RC
- filename = RESULT
- OPTIONS FAILAT 10
-
- IF returncode = 0 & filename ~= '' THEN DO
-
- IF OPEN(handle, filename, 'W') THEN DO
-
- list ID LST_SEL ATTRS MUIA_List_Entries
- number = RESULT
-
- IF number > 0 THEN DO
-
- DO i=0 TO number-1
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- list ID LST_SEL POS i
- line = RESULT
-
- /* This line must be edited if the format of the index file changes */
- PARSE VAR line WITH 1 name +18 WITH 20 directory +10 WITH 31 size +4 WITH 36 comment
-
- CALL WRITELN(handle,name directory size comment)
- END
- END
-
- CALL CLOSE(handle)
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS "_OK" STRING "'Cannot write file '"filename"'"
- END
- END
-
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Delete all entries in specified listview */
- /* --------------------------------------------------------- */
-
- clearlist: PROCEDURE
-
- parse arg listid
-
- list ID listid STRING
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* (De)Select entries in LST_ALL with search string */
- /* --------------------------------------------------------- */
-
- patternentries: PROCEDURE
-
- parse arg mode
-
- MUIA_List_Entries = '0x80421654'
- MUIM_List_Select = '0x804252d8'
- MUIM_Busy_Move = '0x80020001'
-
- list ID LST_ALL ATTRS MUIA_List_Entries
- number = RESULT
-
- string ID STR_PATT
- pattern = UPPER(RESULT)
-
- IF number > 0 THEN DO
-
- DO i=0 TO number-1
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- list ID LST_ALL POS i
- line = UPPER(RESULT)
-
- IF POS(pattern, line) ~= 0 THEN DO
-
- method ID LST_ALL MUIM_List_Select i mode 0
- END
- END
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Opens batch settings window for the specified batchmode */
- /* --------------------------------------------------------- */
-
- batchsettingopen: PROCEDURE EXPOSE portname srcdir
-
- parse arg '['batchmode']'
-
- Selected = '0x8042654b'
- MUIA_Weight = '0x80421d1f'
-
- /* GUI Help Bubbles */
-
- HLP_BUT_DESC = '"Shows batchmode description if available"'
- HLP_CHK_README = '"Generate additional entry for the ''.readme'' file ?"'
- HLP_ASL_FILE = '"Defines default filename for saving.\nDo NOT use Spaces!"'
- HLP_CYC_EXEC = '"Defines whether the script should\nbe started after saving"'
- HLP_ASL_CMD = '"Defines the DOS command to execute the output.\nVariable ''%o'' will be replaced by path and name of the output."'
-
- /* GUI Commands */
-
- CMD_BUT_OK = '"'srcdir'RecentScriptCmd 'portname' SETBATHDL OK ['batchmode']"'
- CMD_BUT_CANCEL = '"'srcdir'RecentScriptCmd 'portname' SETBATHDL CANCEL ['batchmode']"'
- CMD_BUT_DESC = '"'srcdir'RecentScriptCmd 'portname' SETBATHDL DESC ['batchmode']"'
-
-
- /* Read global batchmode config in local stem vraiable */
-
- IF loadbatchconfigs('['batchmode']') = 1 THEN DO
-
- asdf = 'endgroup' /* Workaround for an interpreting error (?) */
-
- /* Create window */
-
- window ID BATSETWIN TITLE '"Settings for '''batchmode'''"' PORT portname
-
- button COMMAND CMD_BUT_DESC HELP HLP_BUT_DESC LABEL 'Description...'
-
- group FRAME LABEL 'Global'
- group HORIZ
- space HORIZ
- check ID CHK_README STRINGS '"0,1"' ATTRS Selected globalcfg.readme HELP HLP_CHK_README
- label "Include '#?.readme'"
- space HORIZ
- endgroup
- group HORIZ
- label "Save to"
- popasl ID ASL_FILE HELP HLP_ASL_FILE CONTENT globalcfg.file
- endgroup
- group HORIZ
- cycle ATTRS MUIA_Weight 0 ID CYC_EXEC HELP HLP_CYC_EXEC LABELS 'Never,Ask,Always'
- label "execute script via"
- popasl ID ASL_CMD HELP HLP_ASL_CMD CONTENT globalcfg.cmd
- endgroup
- endgroup
-
- group FRAME SCROLL LABEL 'Variables'
-
- /* Create string gadgets for each user variable */
-
- DO i=1 TO batchcfg.0
- group ID '"G'D2C(i+65)'"'
- label CENTER '"'batchcfg.i.desc'"'
- group HORIZ
- label batchcfg.i.replace
- string ID '"S'D2C(i+65)'"' HELP '"Replaces configuration variable ''%'D2C(i+48)''' in output"' CONTENT batchcfg.i.val
- interpret asdf
- interpret asdf
- END i
-
- endgroup
-
- group HORIZ
- button COMMAND CMD_BUT_OK LABEL 'OK'
- button COMMAND CMD_BUT_CANCEL LABEL 'Cancel'
- endgroup
-
- endwindow
-
- cycle ID CYC_EXEC LABELS globalcfg.exec
-
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot read '"batchmode"' configuration"
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Handle buttons from the batch settings window */
- /* --------------------------------------------------------- */
-
- batchsettinghandle: PROCEDURE expose srcdir portname
-
- parse arg mode '['batchmode']'
-
- MUIM_Busy_Move = '0x80020001'
- MUIA_Frame = '0x8042ac64'
- MUIA_Font = '0x8042be50'
- MUIA_List_Quiet = '0x8042d8c7'
- MUIV_Frame_ReadList = 5
- MUIV_List_Insert_Bottom = -3
- MUIV_Font_Fixed = -4
-
- SELECT
-
- WHEN mode = 'DESC' THEN DO
-
- window ID HELPWIN CLOSE
-
- window ID HELPWIN TITLE '"Description of '''batchmode'''"' COMMAND '"window ID HELPWIN CLOSE"' PORT portname
-
- filename = srcdir || "Configs/" || batchmode || ".hlp"
-
- IF OPEN(handle, filename, 'R') THEN DO
- view ID HELPVIEW FILE '"'filename'"'
- CALL CLOSE(handle)
- END
- ELSE DO
- view ID HELPVIEW STRING "Sorry, no help available.\n\nContact the author of the configuration to provide it..."
- END
-
- endwindow
- END
-
-
- WHEN mode = 'CANCEL' THEN DO
- window ID BATSETWIN CLOSE
- END
-
- WHEN mode = 'OK' THEN DO
-
- /* Save global and variable configs to file */
-
- /* Read global config for description in local stem */
-
- IF loadbatchconfigs('['batchmode']') = 1 THEN DO
-
- /* Get new global config values in local stem */
-
- check ID CHK_README
- globalcfg.readme = RESULT
- popasl ID ASL_FILE
- globalcfg.file = RESULT
- cycle ID CYC_EXEC
- globalcfg.exec = RESULT
- popasl ID ASL_CMD
- globalcfg.cmd = RESULT
-
- /* Write global config to file */
-
- filename = srcdir || "Configs/" || batchmode || ".cfg"
-
- IF OPEN(handle, filename, 'W') THEN DO
- CALL WRITELN(handle, globalcfg.readme)
- CALL WRITELN(handle, globalcfg.file)
- CALL WRITELN(handle, globalcfg.exec)
- CALL WRITELN(handle, globalcfg.cmd)
- CALL CLOSE(handle)
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot write file '"filename"'"
- END
-
-
- filename = srcdir || "Configs/" || batchmode || ".var"
-
- /* Write variable batchmode config to file */
-
- IF OPEN(handle, filename, 'W') THEN DO
-
- DO i=1 TO batchcfg.0
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- string ID '"S'D2C(i+65)'"'
- batchcfg.i.val = RESULT
-
- CALL WRITELN(handle, batchcfg.i.desc)
- CALL WRITELN(handle, batchcfg.i.val)
- END
-
- CALL CLOSE(handle)
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot write file '"filename"'"
- END
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot read '"batchmode"' configuration"
- END
-
- window ID BATSETWIN CLOSE
- END
-
- OTHERWISE DO
- request ID RECSCRWIN TITLE '"Internal Error"' GADGETS '"_OK"' STRING '"Unsupport command 'mode'"'
- END
- END
-
- RETURN
-
-
-
- /* --------------------------------------------------------- */
- /* Load global and variable configuration for batchmode */
- /* --------------------------------------------------------- */
-
- loadbatchconfigs: PROCEDURE EXPOSE srcdir globalcfg. batchcfg.
-
- parse arg '['batchmode']'
-
- /* Read global batchmode config in local stem vraiable */
-
- filename = srcdir || "Configs/" || batchmode || ".cfg"
-
- IF OPEN(handle, filename, 'R') THEN DO
-
- globalcfg.readme = READLN(handle)
- globalcfg.file = READLN(handle)
- globalcfg.exec = READLN(handle)
- globalcfg.cmd = READLN(handle)
-
- CALL CLOSE(handle)
-
-
- /* Read variable batchmode config in local stem variable */
-
- filename = srcdir || "Configs/" || batchmode || ".var"
-
- batchcfg.0 = 0
-
- IF OPEN(handle, filename, 'R') THEN DO
-
- i = 0
-
- DO UNTIL EOF(handle)
-
- method ID CLS_BUSY MUIM_Busy_Move
-
- description = READLN(handle)
- value = READLN(handle)
-
- IF description ~= '' & value ~= '' THEN DO
-
- i = i + 1
- batchcfg.0 = i
-
- batchcfg.i.replace = '%'D2C(i+48)'' /* %1 ... */
- batchcfg.i.desc = description
- batchcfg.i.val = value
- END
- END
-
- CALL CLOSE(handle)
- END
-
- RETURN 1
-
- END
- ELSE DO
- request ID RECSCRWIN TITLE '"File Error"' GADGETS '"_OK"' STRING "Cannot read file '"filename"'"
- RETURN 0
- END
-
-
- /* --------------------------------------------------------- */
- /* Only a testprocedure for testing new features */
- /* --------------------------------------------------------- */
-
- testprocedure: PROCEDURE
-
- RETURN
-